#ifndef SETTINGS_H
#define SETTINGS_H

#include <QObject>
#include "mysettings_global.h"

class MySettings_EXPORT Settings : public QObject
{
    Q_OBJECT

    Q_PROPERTY(QString DownloadsPath READ DownloadPath WRITE setDownloadPath)
    Q_PROPERTY(int WindowH READ WindowH WRITE setWindowH)
    Q_PROPERTY(int WindowW READ WindowW WRITE setWindowW)
    Q_PROPERTY(bool WindowMax READ WindowMax WRITE setWindowMax)
    Q_PROPERTY(int WindowX READ WindowX WRITE setWindowX)
    Q_PROPERTY(int WindowY READ WindowY WRITE setWindowY)
    Q_PROPERTY(bool ProxyEnable READ ProxyEnable WRITE setProxyEnable)
    Q_PROPERTY(QString ProxyHost READ ProxyHost WRITE setProxyHost)
    Q_PROPERTY(int ProxyPort READ ProxyPort WRITE setProxyPort)
    Q_PROPERTY(QString ProxyUser READ ProxyUser WRITE setProxyUser)
    Q_PROPERTY(QString ProxyPass READ ProxyPass WRITE setProxyPass)

public:
    explicit Settings(QObject* parent = 0);
    ~Settings();

    QString DownloadPath() const;
    void setDownloadPath(const QString&);

    int WindowH() const;
    void setWindowH(const int);

    int WindowW() const;
    void setWindowW(const int);

    int WindowX() const;
    void setWindowX(const int);

    int WindowY() const;
    void setWindowY(const int);

    bool WindowMax() const;
    void setWindowMax(const bool);

    bool ProxyEnable() const;
    void setProxyEnable(const bool);

    QString ProxyHost() const;
    void setProxyHost(const QString&);

    int ProxyPort() const;
    void setProxyPort(const int);

    QString ProxyUser() const;
    void setProxyUser(const QString&);

    QString ProxyPass() const;
    void setProxyPass(const QString&);

private:
    bool m_WindowMax;
    bool m_ProxyEnable;
    int m_WindowH;
    int m_WindowW;
    int m_WindowX;
    int m_WindowY;
    QString m_ProxyHost;
    int m_ProxyPort;
    QString m_ProxyUser;
    QString m_ProxyPass;
    QString m_DownloadPath;
};

#endif // SETTINGS_H
